/**
 * 
 */
package com.celephais.common.client.service;

import java.util.List;

import com.celephais.common.client.model.DataFilter;
import com.celephais.common.client.model.TableColumn;
import com.celephais.common.client.model.TransferObject;
import com.google.gwt.user.client.rpc.RemoteService;

/**
 * @author Eugene Shen
 *
 */
public interface ObjectAccessService<T extends TransferObject> extends RemoteService {
	
	public TableColumn[] getColumns();
	
	public int getCount(DataFilter[] filters);
	public List<T> getObjects(int startRow, int rowsCount,
		DataFilter[] filters, String sortColumnName, boolean sortOrder);
	
	public boolean add(T obj);
	
	public boolean update(T obj);
	
	public boolean delete(T obj);
	
}
